package ai.leinao.common.core.actor;

import java.util.concurrent.ExecutorService;

/**
 * swp actor 邮箱
 *
 * @author zhong.wang
 * @date 2025/4/3
 */
public interface SwpActorMailbox {
    /**
     * 获取actor吞吐量
     * 减少线程唤醒次数
     * @return
     */
     int getThroughput();

    /**
     * 获取actor线程池
     * @return
     */
     ExecutorService getExecutor();


    /**
     * 接收消息
     * @param message
     */
     void receive(SwpActorMessage message);

    /**
     * 接收高优先级消息
     * @param message
     */
     void receiveWithHighPriority(SwpActorMessage message);

    /**
     * 处理消息
     * @param message
     */
     void processMessage(SwpActorMessage message);

}
